// utils/request.js  
const BASE_URL = 'http://121.40.57.89:35860';  
// const BASE_URL = 'http://192.168.0.187:8080';  
// export const pythonUrl = "http://192.168.0.187:8000"
// export const pythonUrl = "http://192.168.213.99:8000"
export const pythonUrl = "http://192.168.153.99:8000"
export function request(config = {}) {  
  let {  
    url,  
    data = {},  
    method = "GET",  
    header = {},  
    timeout = 60000 // 默认超时时间，单位毫秒  
  } = config;  
  
  url = BASE_URL + url;  
  const token = uni.getStorageSync("token");  
  if (token) {  
    header['token'] = token;  
  }  
  
  // 创建一个Promise，该Promise将在指定的超时时间后拒绝  
  const timeoutPromise = new Promise((_, reject) => {  
    setTimeout(() => {  
      reject(new Error('请求超时'));  
    }, timeout);  
  });  
  
  // 发起实际的网络请求  
  const requestPromise = new Promise((resolve, reject) => {  
    uni.request({  
      url,  
      data,  
      method,  
      header,  
      success: res => {  
        if (res.data.code === 200) {  
          resolve(res.data);  
        } else if (res.data.code === 401) {  
          uni.showModal({  
            title: "错误提示",  
            content: res.data.msg,  
            showCancel: false  
          });  
          reject(res.data);  
        } else {  
          uni.showToast({  
            title: res.data.msg + "你好",  
            icon: "none"  
          });  
          reject(res.data);  
        }  
      },  
      fail: err => {  
        reject(err);  
      }  
    });  
  });  
  
  // 使用Promise.race来决定哪个Promise先完成：实际的请求还是超时Promise  
  return Promise.race([requestPromise, timeoutPromise]);  
}  
  
export const get = (url, params, config = {}) => {  
  return request({  
    url,  
    data: params,  
    method: 'GET',  
    ...config // 允许传递额外的配置，比如超时时间  
  });  
};  
  
export const post = (url, data, config = {}) => {  
  return request({  
    url,  
    data,  
    method: 'POST',  
    header: {  
      'Content-Type': 'application/json;charset=utf-8'  
    },  
    ...config // 允许传递额外的配置，比如超时时间  
  });  
};
// // utils/request.js
// const BASE_URL = 'http://121.40.57.89:35860';
// // const BASE_URL = 'http://192.168.0.187:8080';

// export function request(config = {}) {
//   let {
//     url,
//     data = {},
//     method = "GET",
//     header = {}
//   } = config;

//   url = BASE_URL + url;
//   // header['access-key'] = "xxm123321@#";
//     // 获取存储的 token 并设置到请求头中
//       const token = uni.getStorageSync("token");
// 	  if(token) {
// 		  header['token'] = token;
// 	  }

//   return new Promise((resolve, reject) => {
//     uni.request({
//       url,
//       data,
//       method,
//       header,
//       success: res => {
//         if (res.data.code === 200) {
//           resolve(res.data);
//         } else if (res.data.code === 401) {
//           uni.showModal({
//             title: "错误提示",
//             content: res.data.msg,
//             showCancel: false
//           });
//           reject(res.data);
//         } else {
//           uni.showToast({
//             title: res.data.msg,
//             icon: "none"
//           });
//           reject(res.data);
//         }
//       },
//       fail: err => {
//         reject(err);
//       }
//     });
//   });
// }

// export const get = (url, params) => {
//   return request({
//     url,
//     data: params,
//     method: 'GET'
//   });
// };

// export const post = (url, data) => {
//   return request({
//     url,
//     data,
//     method: 'POST',
//     header: {
//       // 'Content-Type': 'application/json'
// 	   'Content-Type': 'application/json;charset=utf-8'
//     }
//   });
// };